#ifndef SURFACECACHE_H
#define SURFACECACHE_H

#include "Image.h"

#include <map>

class SurfaceCache
{
    private:
        SurfaceCache();
        static SurfaceCache *m_surfaceCache;
    public:
        virtual ~SurfaceCache();
        static SurfaceCache* GetSurfaceCache();
        SDL_Surface* GetSurface(CRstring filename, bool &fromCache);
        void Clear();
    protected:
    private:
        map<string, SDL_Surface *> m_Surfaces;
};

#endif // SURFACECACHE_H
